package com.molichuxing.gateway.api.services;

import com.molichuxing.framework.result.ResponseResult;
import com.molichuxing.gateway.bff.car.entity.request.modify.WarnConfigModifyVo;
import com.molichuxing.gateway.bff.permission.entity.response.AccountLoginVo;
import com.molichuxing.gateway.bff.permission.entity.response.IovAccountCreateVo;
import com.molichuxing.gateway.bff.permission.entity.response.IovAccountModifyVo;
import com.molichuxing.gateway.bff.permission.entity.response.IovControlVehicleCreateVo;

import java.util.Map;

/**
 * 车联网信息web接口
 */
public interface IovApiService {


    /**
     * 车联网控车成功发送短信接口
     *
     * @param vin
     * @return
     */
    public ResponseResult<Boolean> sendMessageIovControlCar(IovControlVehicleCreateVo createVo);

    /**
     * 修改密码(车联网)
     *
     * @param vo
     * @return
     */
    public ResponseResult<Boolean> modifyPasswordByIov(IovAccountCreateVo vo);

    /**
     * 创建新用户（车联网）
     *
     * @param vo
     * @return
     */
    public ResponseResult<Boolean> createIovAccount(IovAccountCreateVo vo);

    /**
     * 修改用户（车联网）
     *
     * @param vo
     * @return
     */
    public ResponseResult<Boolean> modifyIovAccount(IovAccountModifyVo vo);

    /**
     * 账户登录
     *
     * @param params
     * @return
     */
    public ResponseResult<AccountLoginVo> login(Map<String, Object> params);

    /**
     * 车辆离线报警配置修改
     *
     * @param vo
     * @return
     */
    public ResponseResult<Boolean> modifyIovCarOfflineWarnConfig(WarnConfigModifyVo vo);

}
